4.4 Concluding Remarks on Evolution

37

4.3

Evolutionary Computing

Evolutionary computation (EC) is typically fairly informally defined as the field of

computational systems that get inspiration and ideas from natural (Darwinian) evo-

lution (cf. Sects. 4.1 and 4.1.2). One of the most important types of evolutionary

computation is the genetic algorithm (GA), which is a type of search and opti-

mization based on the mechanisms—albeit rather simplified—of genetics and nat-

ural selection. Each candidate solution is encoded as a numerical string, usually

binary (of course, unless an analog computer is used, ultimately even a real-valued

string is encoded in binary form for processing on a digital computer). This string

is called the chromosome. A large number of candidate solutions are then “mated”:

in other words, pairs of parents are selected (typically randomly) and the two chro-

mosomes are mixed using operations inspired by those taking place in living cells

(cf. Sect. 14.7), such as recombination (crossover). Random mutations to individual

chromosomes are usually also allowed. The offspring are then evaluated according

to some appropriate fitness criterion and mapped onto a numerical scale. Offspring

with fitness below the threshold are eliminated. In some genetic algorithms, only

the surviving offspring pass on to the next generation and all parents die; in others,

the parents are also evaluated and retained if their fitness exceeds the threshold. The

survivors then undergo another round of randomization and evaluation, and so on

(Fig. 4.2). The cycles continue until a satisfactory solution is reached. The technique

is particularly valuable for multiobjective optimization (MOO). Currently, there is

much activity in the field, albeit dominated by heuristic developments. It is clear that

there are many degrees of freedom available, and it would be impracticable in most

cases to systematically investigate them all. A very promising trend is to allow more

flexibility in the individual steps; ultimately, the algorithm should be able to develop

itself under the constraint of some externally imposed fitness criterion. There is also

a trend to more intensively apply some of the more recent discoveries in molecu-

lar biology to evolutionary computation, especially those regarding the epigenetic

features known to control genome organization (Banzhaf et al. 2006). An attractive

extension of conventional genetic algorithms is to introduce interactive selection of

survivors by a human user. 25

4.4

Concluding Remarks on Evolution

Notwithstanding Dobzhansky’s often-cited assertion that “nothing in biology makes

sense except in the light of evolution”, the present theory of evolution, in the words

of Yapp (1958), “though an admirable working hypothesis, still leaves the most

important things unexplained”. As he remarks, it “accounts very satisfactorily in

terms of Mendelian inheritance, mutation, isolation, and selection, aided perhaps

by drift, for evolution within the genus, and brings together reasonably well a wide

25 Interactive genetic algorithms; e.g., Brintrup et al. (2006).